

#ifndef IRIDE_COLOR_H_
#define IRIDE_COLOR_H_

#include "Types.h"
#include "Color.h"

namespace Iride
{

	class Color
	{
	public:
		Color();
		Color(Real red, Real green, Real blue, Real alpha);
		Color(Real red, Real green, Real blue);

		void Swap(Color &rOther);

		Color operator + (const Color&) const;
		Color operator - (const Color&) const;
		Color operator * (const float&) const;
		Color operator / (const float&) const;

		Color& operator+= (const Color&);
		Color& operator-= (const Color&);

		void Saturate();

		static const Color Black;
		static const Color White;
		static const Color Red;
		static const Color Green;
		static const Color Blue;
		static const Color Yellow;
		static const Color DarkRed;
		static const Color CornflowerBlue;

		Real r;
		Real g;
		Real b;
		Real a;

	};
};
#endif
